# Desc: 常量定义

KNOWLEDGE_EMBEDDINGS_DATA_SERVER_IP = 'socket.chatlingxi.com'
# 知识库向量文件服务器地址
KNOWLEDGE_EMBEDDINGS_DATA_SERVER = 'http://{}:8899/insurance_planner_gpt'.format(KNOWLEDGE_EMBEDDINGS_DATA_SERVER_IP)

KNOWLEDGE_EMBEDDINGS_DATA_PATH = '/home/admin/app/knowledge_embedding_base/insurance_planner_gpt/'

# 默认通货膨胀率
INFLATION_RATE = 0.03

# 默认年化收益率
DEFAULT_FINANCIAL_MANAGEMENT = 0.03

# 默认年收入涨幅
DEFAULT_INCOME_GROWTH_RATE = 0.05

# 默认社会平均工资涨幅
DEFAULT_AVG_INCOME_GROWTH_RATE = 0.01

# 默认养老金收入涨幅
DEFAULT_PENSION_RISE_RATE = 0.038

# 用户存款金额上限 1亿
MAX_USER_SAVING_MONEY_LIMIT = 100000000

# 用户当前年度总收入 1千万
MAX_USER_CURRENT_INCOME_YEARLY_LIMIT = 10000000

# 用户当前年度总支出 1千万
MAX_USER_CURRENT_EXPENSES_YEARLY_LIMIT = 10000000

# 退休后每月消费上限 200000
RETIRE_EXPENSES_MONTHLY_LIMIT = 200000

# 法定退休年龄-男
LAW_RETIRE_AGE_M = 60

# 法定退休年龄-女
LAW_RETIRE_AGE_W = 50

# 默认最大生存年龄
DEFAULT_MAX_LIVE_AGE = 85

# 默认开始交社保年龄
DEFAULT_START_SECURITY_AGE = 25

# 最低交社保年龄
MIN_PERSON_PAY_YEAR = 15

# 退休计划各项数据边界
'''
单一建议的可行性
1.收入增长率30%一一 查行业数据：18%
2.支出下降一一目的是满足最低的基本生活花销
    合理范围是：支出下降 【0-40%】
    如果支出下降比例40%<全国最高的低保：1365 方案不科学
3.收益率：最多6%
4.降低退休生活支出：20%
5.延迟退休：不能比法定晚

组合 随机组合 优先级
2>1>4>3>5
'''
# 当前-收入增长率
MAX_CURRENT_INCOME_MONTHLY_RISE_TO = 0.18

# 当前支出降低率
MAX_CURRENT_EXPENDITURE_MONTHLY_REDUCE_TO = 0.4
# 全国最低生活保障标准
MIN_LIVING_ALLOWANCE = 1365

# 收益率
MAX_CURRENT_INCOME_YEARLY_TO = 0.06

# 退休后支出减少率
MAX_RETIRE_EXPENSE_MONTHLY_REDUCE_TO = 0.2

# 消息类型
# 图片
MESSAGE_TYPE_IMG = "img"
# 坐席工作台图片
MESSAGE_TYPE_AGENT_IMG = "agent_img"
# 用户回复建议
MESSAGE_TYPE_SUGGESTION = "suggestion"
# 用户方案计算明细
MESSAGE_TYPE_SOLUTION = "solution"
# 坐席工作台方案查看
MESSAGE_TYPE_AGENT_SOLUTION = "agent_solution"
# 文本
MESSAGE_TYPE_TEXT = "text"

# 可编辑文本
MESSAGE_TYPE_EDIT_TEXT = "edit_text"

# 消息code 消息标记
# 流式文本消息结束
MESSAGE_CODE_END = "end"
# 消息完成
MESSAGE_CODE_SUCCESS = "success"
# 消息异常
MESSAGE_CODE_ERROR = "error"
# 消息超时
MESSAGE_CODE_TIMEOUT = "timeout"
# 消息超时
MESSAGE_CODE_TOKEN_LIMIT = "token_limit"
# 重试消息
MESSAGE_CODE_RETRY = "retry"

# 系统角色
# 助理
ROLE_ASSISTANT = "assistant"
# 系统
ROLE_SYSTEM = "system"
# 用户
ROLE_USER = "user"
# 坐席
ROLE_AGENT = "agent"
